iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 22
0
自我挑戰組

30天學會Python系列 第 22

Python - Class類別(3) - 繼承inheritance

  • 分享至 

  • xImage
  •  

什麼是繼承?

繼承(inheritance)是物件導向最重要的概念之一,它可以讓子物件擁有父物件的屬性及方法,並且擁有屬於自己專屬的屬性或方法,定義類別本身就是一個抽象化(abstraction)的過程,我們必須抽象描述出這個類別該有的屬性或方法

舉個例子,一個車子的類別(父類別)擁有一些共通的屬性例如有輪子、車門、車窗、引擎

class Car:
    def __init__(self, wheel_number, door_number, power):
    self.wheel_number = wheel_number
    self.door_number = door_number
    self.power = power

然而車子也有分為好幾種不同類別(子類別),例如我們定義**電動車(子類別)**繼承了車子類別,電動車類別此時就有了車子的屬性,甚至可以添加自己專有的屬性或方法,如下列程式碼

class EletricCar(Car):
    def __init__(self, wheel_number, door_number, power, brand):
        super(EletricCar, self).__init__(wheel_number, door_number, power)
        self.brand = brand

    def get_spec(self):
        print(f"wheel_number: {self.wheel_number}")
        print(f"door_number: {self.door_number}")
        print(f"door_number: {self.door_number}")
        print(f"brand: {self.brand}")

c = EletricCar(4,5,"Motor","Tesla")

是在super什麼啦!

super()內建函數是繼承時用來呼叫父類別的方法,語法為
super(type[, object-or-type])

多重繼承


上一篇
Python - Class類別(2) - 封裝Encapsulation
下一篇
Python - Class類別(4) 多型
系列文
30天學會Python30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言